<?php
require_once("dependenciaBancoDados.php");
require_once("BaseAcao.php");
require_once("ControladorReserva.php");
require_once("Reserva.php");
require_once("Empresa.php");
require_once("Localidade.php");
require_once("Acompanhante.php");
require_once(INCLUDE_PATH . "excecao/SistemaException.class.php");

class AcoesReserva extends BaseAcao {
	
	public function incluirReservaArea(){
		$reserva = new Reserva();
		$reserva ->dataSaida = $_REQUEST["data_saida"];
		$reserva ->origem = $_REQUEST["origem"];
		$reserva ->destino = $_REQUEST["destino"];
		$reserva ->dataChegada = $_REQUEST["data_chegada"];
		$reserva ->empresa = $_REQUEST["empresa"];
		$reserva->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$novaEmpresa = $_REQUEST["novaEmpresa"];
		if($novaEmpresa != ''){
			$emp = new Empresa();
			$emp->nome = $novaEmpresa;
			$emp->tipo = 5;
			$emp->servico = $_REQUEST["servico"];
			$emp->localidade = $reserva->origem;		
		}else{
			$emp = '';
			
		}
				
		try {
			ControladorReserva::incluirReservaAerea($reserva,$emp);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarTranspoteAereo();		
	}	
	
	public function incluirReservaHospedagem(){
		$reserva = new Reserva();
		$reserva ->dataSaida = $_REQUEST["data_saida"];
		$reserva ->origem = $_REQUEST["localidade"];
		$reserva ->dataChegada = $_REQUEST["data_chegada"];
		$reserva ->empresa = $_REQUEST["empresa"];
		$reserva ->codigoViagem = $_REQUEST["viagem"];
		$reserva->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$novaEmpresa = $_REQUEST["novaEmpresa"];
		if($novaEmpresa != ''){
			$emp = new Empresa();
			$emp->nome = $novaEmpresa;
			$emp->tipo = 1;
			$emp->servico = $_REQUEST["servico"];
			$emp->localidade = $reserva->origem;		
		}else{
			$emp = '';
			
		}
				
		try {
			ControladorReserva::incluirReservaHospedagem($reserva,$emp);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarHospedagem();		
	}
        
        public function incluirReservaAluguelCarro(){
		$reserva = new Reserva();
		$reserva ->dataSaida = $_REQUEST["data_saida"];
		$reserva ->origem = $_REQUEST["localidade"];
		$reserva ->dataChegada = $_REQUEST["data_chegada"];
		$reserva ->empresa = $_REQUEST["empresa"];
		$reserva ->codigoViagem = $_REQUEST["viagem"];
		$reserva->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$novaEmpresa = $_REQUEST["novaEmpresa"];
		if($novaEmpresa != ''){
			$emp = new Empresa();
			$emp->nome = $novaEmpresa;
			$emp->tipo = 2;
			$emp->servico = $_REQUEST["servico"];
			$emp->localidade = $reserva->origem;		
		}else{
			$emp = '';
			
		}
				
		try {
			ControladorReserva::incluirReservaAluguelCarro($reserva,$emp);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarAluguelCarro();
	}
	
	public static function incluirReservaPagamento(){
               $viagem = $_REQUEST["viagem"];
               $avista = $_REQUEST["avista"];
               $cheque = $_REQUEST["cheque"];
               $cartao = $_REQUEST["cartao"];
               $fide = $_REQUEST["fidelidade"];

               	try {
			ControladorReserva::incluirFormaPagamento($viagem, $avista,$cheque,$cartao,$fide,$_SESSION[Globais::AUTH_KEY_CODIGO]);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarPagamento();
      }
      
   public function incluirReservaPacoteCVC(){
		$reserva = new Reserva();
		$reserva ->empresa = $_REQUEST["empresa"];
		$reserva ->codigoViagem = $_REQUEST["viagem"];
		$reserva->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$novaEmpresa = $_REQUEST["novaEmpresa"];
		if($novaEmpresa != ''){
			$emp = new Empresa();
			$emp->nome = $novaEmpresa;
			$emp->tipo = 3;
			$emp->servico = $_REQUEST["servico"];
			$emp->localidade = $_REQUEST["localidade"];			
		}else{
			$emp = '';
			
		}
				
		try {
			ControladorReserva::incluirReservaPacoteCVC($reserva,$emp);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarPacoteCVC();
	}
	
	public function incluirReservaPacoteEViagens(){
		$reserva = new Reserva();
		$reserva ->empresa = $_REQUEST["empresa"];
		$reserva ->codigoViagem = $_REQUEST["viagem"];
		$reserva->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$novaEmpresa = $_REQUEST["novaEmpresa"];
		if($novaEmpresa != ''){
			$emp = new Empresa();
			$emp->nome = $novaEmpresa;
			$emp->tipo = 4;
			$emp->servico = $_REQUEST["servico"];
			$emp->localidade = $_REQUEST["localidade"];			
		}else{
			$emp = '';
			
		}
				
		try {
			ControladorReserva::incluirReservaPacoteEViagens($reserva,$emp);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirTelaSolicitarPacoteEviagens();
	}


	
	public function listarLocalidade(){
		$localidades = ControleReserva::listarLocalidades();		
		$_REQUEST["localidades"] = $localidades;		
	}
	
	public static function listarEmpresa($tipo){
		$empresas = ControladorReserva::listarEmpresa($tipo);
		$_REQUEST["empresas"] = $empresas;
	}
	
	public static function exibirTelaSolicitarTranspoteAereo(){
		$localidades = ControladorReserva::listarLocalidades();	
		$_REQUEST["localidades"] = $localidades;;
		$empresas = ControladorReserva::listarEmpresa(5);
		$_REQUEST["empresas"] = $empresas;
		$servico = ControladorReserva::listarServico(5);
		$_REQUEST["servicos"] = $servico;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarArea.php";
	}
	
      public static function exibirTelaSolicitarHospedagem(){
		$localidades = ControladorReserva::listarLocalidades();	
		$_REQUEST["localidades"] = $localidades;;
		$empresas = ControladorReserva::listarEmpresa(1);
		$_REQUEST["empresas"] = $empresas;
		$servico = ControladorReserva::listarServico(1);
		$_REQUEST["servicos"] = $servico;
		$viagens = ControladorReserva::listarViagem($_SESSION[Globais::AUTH_KEY_CODIGO]);
		$_REQUEST["viagens"] = $viagens;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarHospedagem.php";
	}
	public static function exibirTelaSolicitarAluguelCarro(){
		$localidades = ControladorReserva::listarLocalidades();	
		$_REQUEST["localidades"] = $localidades;
		$empresas = ControladorReserva::listarEmpresa(2);
		$_REQUEST["empresas"] = $empresas;
		$servico = ControladorReserva::listarServico(2);
		$_REQUEST["servicos"] = $servico;
		$viagens = ControladorReserva::listarViagem($_SESSION[Globais::AUTH_KEY_CODIGO]);
		$_REQUEST["viagens"] = $viagens;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarAluguelCarro.php";
	}
	
	public static function exibirTelaSolicitarPagamento(){
		$viagens = ControladorReserva::listarViagem($_SESSION[Globais::AUTH_KEY_CODIGO]);
		$_REQUEST["viagens"] = $viagens;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarPagamento.php";
	}
	
	public static function exibirTelaSolicitarPacoteCVC(){
		$empresas = ControladorReserva::listarEmpresa(3);
		$_REQUEST["empresas"] = $empresas;
		$servico = ControladorReserva::listarServico(3);
		$_REQUEST["servicos"] = $servico;
		$viagens = ControladorReserva::listarViagem($_SESSION[Globais::AUTH_KEY_CODIGO]);
		$_REQUEST["viagens"] = $viagens;
		$localidades = ControladorReserva::listarLocalidades();	
		$_REQUEST["localidades"] = $localidades;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarPacoteCVC.php";
	}
	
       public static function exibirTelaSolicitarPacoteEviagens(){
		$empresas = ControladorReserva::listarEmpresa(4);
		$_REQUEST["empresas"] = $empresas;
		$servico = ControladorReserva::listarServico(4);
		$_REQUEST["servicos"] = $servico;
		$viagens = ControladorReserva::listarViagem($_SESSION[Globais::AUTH_KEY_CODIGO]);
		$_REQUEST["viagens"] = $viagens;
		$localidades = ControladorReserva::listarLocalidades();	
		$_REQUEST["localidades"] = $localidades;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservarPacoteEViagens.php";
	}
	public static function exibirReservar(){
		$empresas = ControladorReserva::listarEmpresa(5);
		$_REQUEST["ea"] = $empresas;
		$servico = ControladorReserva::listarServico(5);
		$_REQUEST["sa"] = $servico;
		$empresas = ControladorReserva::listarEmpresa(2);
		$_REQUEST["ec"] = $empresas;
		$servico = ControladorReserva::listarServico(2);
		$_REQUEST["sc"] = $servico;
		$empresas = ControladorReserva::listarEmpresa(1);
		$_REQUEST["eh"] = $empresas;
		$servico = ControladorReserva::listarServico(1);
		$_REQUEST["sh"] = $servico;
		$localidades = ControladorReserva::listarLocalidades();
		$_REQUEST["localidades"] = $localidades;
		Globais::$CONTROLE_FLUXO_INCLUDES[0] = "reserva/telaReservar.php";
	}
	
	 public function incluirReserva(){
		$reservaA = new Reserva();
		$reservaA ->empresa = $_REQUEST["eai"];
		$reservaA->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$reservaA->horaIda  = $_REQUEST["hi"];
		$reservaA->horaVolta  = $_REQUEST["hv"];
		$reservaA ->origem = $_REQUEST["origem"];
		$reservaA ->destino = $_REQUEST["destino"];
                $reservaA ->numeroVooIda = $_REQUEST["vi"];
                $reservaA ->numeroVooVolta = $_REQUEST["vv"];
                $reservaA ->empresaV = $_REQUEST["eav"];
                $reservaA ->dataSaida = $_REQUEST["dia"];
		$reservaA ->dataChegada = $_REQUEST["dva"];
		$reservaA ->solicitacaoEspecial = $_REQUEST["se"];
                $novaEmpresaI = $_REQUEST["neai"];
		$novaEmpresaV = $_REQUEST["neav"];
		if($novaEmpresaI != ''){
			$empA = new Empresa();
			$empA->nome = $novaEmpresaI;
			$empA->tipo = 5;
			$empA->servico = $_REQUEST["si"];
			$empA->localidade = $_REQUEST["origem"];
		}else{
			$empA = '';
			
		}
		if($novaEmpresaV != ''){
			$empA2 = new Empresa();
			$empA2->nome = $novaEmpresaV;
			$empA2->tipo = 5;
			$empA2->servico = $_REQUEST["sv"];
			$empA2->localidade = $_REQUEST["destino"];
		}else{
			$empA2 = '';
			
		}
		
		
		$reservaH = new Reserva();
		$reservaH ->empresa = $_REQUEST["eh"];
		$reservaH->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$reservaH ->origem = $_REQUEST["lh"];
		$reservaH ->dataSaida = $_REQUEST["dsh"];
		$reservaH ->dataChegada = $_REQUEST["deh"];
		$reservaH ->modalidade = $_REQUEST["mo"];
                $novaEmpresa = $_REQUEST["neh"];
		if($novaEmpresa != ''){
			$empH = new Empresa();
			$empH->nome = $novaEmpresa;
			$empH->tipo = 1;
			$empH->servico = $_REQUEST["sh"];
			$empH->localidade = $_REQUEST["lh"];
		}else{
			$empH = '';
			
		}
		
		$reservaC = new Reserva();
		$reservaC ->empresa = $_REQUEST["ec"];
		$reservaC->cliente = $_SESSION[Globais::AUTH_KEY_CODIGO];
		$reservaC ->origem = $_REQUEST["lc"];
		$reservaC ->dataSaida = $_REQUEST["drc"];
		$reservaC ->dataChegada = $_REQUEST["dec"];
		$reservaC ->tipoCarro = $_REQUEST["tc"];
		$reservaC ->seguro = $_REQUEST["sg"];
                $novaEmpresa = $_REQUEST["nec"];
		if($novaEmpresa != ''){
			$empC = new Empresa();
			$empC->nome = $novaEmpresa;
			$empC->tipo = 2;
			$empC->servico = $_REQUEST["sc"];
			$empC->localidade = $_REQUEST["lc"];
		}else{
			$empC = '';
			
		}
		$p1 = $_REQUEST["p1"];
		$p2 = $_REQUEST["p2"];
		if($p1 == 1){
                     $respondera = new Acompanhante();
                     $respondera->cpf = $_REQUEST["cpf"];
                      $respondera->nome =$_REQUEST["nome"];
                       $respondera->email=$_REQUEST["em"];
                        $respondera->fone=$_REQUEST["te"];
                }else{
                  $respondera = '';
                }

                if($p2 == 1){
                       $acompanhate = new Acompanhante();
                       $acompanhate->cpf = $_REQUEST["cpfa"];
                      $acompanhate->nome =$_REQUEST["na"];
                      $acompanhate->email="";
                      $acompanhate->fone="";

                }else{
                  $acompanhate = '';
                }

                 //echo $acompanhate->cpf;


				
		try {
			ControladorReserva::incluirReserva($reservaA,$empA, $empA2, $reservaH,$empH, $reservaC,$empC, $respondera, $acompanhate);
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "Sucesso inclusao!";	
		} catch (SistemaException $ex) {
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] = "FALHA na inclusao!";
			$_REQUEST[Globais::MENSAGENS_SISTEMA_KEY] .= "<BR>" . $ex->getMessage();
		}		
		AcoesReserva::exibirReservar();
	}

}


?>